package com.cloudbroker.bcs.platform.ltb.middle.dao;

import com.cloudbroker.bcs.common.dao.base.DAOBase;
import com.cloudbroker.bcs.platform.ltb.bizapi.constants.type.UserType;
import com.cloudbroker.bcs.platform.ltb.bizapi.service.admin.vo.UserQueryForm;
import com.cloudbroker.bcs.platform.ltb.middle.entity.UserEntity;
import com.sun.tools.internal.xjc.reader.xmlschema.bindinfo.BIConversion;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Created by tianrui on 2016/7/5.
 */
public interface UserDAO extends DAOBase<UserEntity, String> {

    public UserEntity userLoginVerify(UserEntity userEntity);

    public long getAccountID(UserEntity userEntity);

    public int restPassword(UserEntity userEntity);

    public void updatePassword(UserEntity userEntity);

    public UserEntity getUserEntity(UserEntity userEntity);

    public void addUser(UserEntity userEntity);

    public void updateAvatar(UserEntity userEntity);

    public void updateAliasName(UserEntity userEntity);

    public void updateUserStatus(UserEntity userEntity);

    public void updateInviteNum(UserEntity userEntity);

    public void updateOpenId(UserEntity userEntity);


    /*
    *  根据昵称查询不在黑名单中的用户
    */
    public List<UserEntity> queryByName(UserQueryForm form);

    public void updateUserLoginTime(UserEntity userEntity);

    /**
     * 获取头像
     * @param idList
     * @return
     */
    List<UserEntity> getUserAvatar(List<Long> idList);

    public void updateID(Long new_id, Long user_id);


    public UserEntity findByInviteCode(UserEntity userEntity);

    void updateAnswerNum(UserEntity leader);
}
